不谈使用git message模板的原因或者历史,网上有一堆。相信针对看到这文章的人都知道,目前自己的版本管理中,追溯提交日志时觉得信息凌乱甚至不堪入目。因此才有此想法:统一提交模板
1. 模板格式
规范使用较多的是 Angular 团队的规范,格式如下:
<type>(<scope>): <subject>
// 空出一行
<body>
// 空出一行
<footer>
type: commit 的类型(必填)
- feat: 新特性
- fix: 修改问题
- refactor: 代码重构
- docs: 文档修改
- style: 代码格式修改, 注意不是 css 修改
- test: 测试用例修改
- chore: 其他修改, 比如构建流程, 依赖管理.
- scope: commit 影响的范围(选填), 比如: route, component, utils, build...
- subject: 提交简述(必填)
body: commit 具体修改内容(选填)
可以分为多行
footer: 一些备注(选填)
通常是 BREAKING CHANGE 或修复的 bug 的链接.
2. 设置模板
2.1 修改全局配置
在git全局配置里进行设置,linx/mac 进入文件.gitconfig
$ vi ~/.gitconfig
若不存在[commit] template
,则设置如下
[commit]
template = /Users/zhangguoye/.stCommitMsg
2.2 修改模板
设置模板完毕后,下一步进行模板内容的修改
$ vi /Users/zhangguoye/.stCommitMsg
粘入以下内容保存即可。若使用sourcetree等git管理软件,则需要重启软件才能生效。
<feat>(<>): <提交描述>
<body>
<footer>
# - type:
feat(新特性),
fix(修改问题),
docs(文档修改),
style(代码格式修改, 注意不是 css 修改),
refactor(代码重构),
test(测试),
chore(其他修改, 比如构建流程, 依赖管理)
# - scope: (可以为空)
影响的的范围
# - subject
提交描述
3. Commitizen
另外有人说用 Commitizen 替代 git commit,我就不发表意见了。但还是建议新手少折腾。
有兴趣的可以自行了解下:
commitizen :https://github.com/commitizen...
cz-conventional-changelog:https://github.com/commitizen...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。